
// src/apis/financeApplicationApi.js

import request from '@/utils/http.js' // 假设你有一个封装好的 axios 请求工具，请根据你的项目实际情况调整路径

/**
 * 提交融资申请
 * @param {Object} application - 融资申请数据对象
 * @returns {Promise} 请求结果
 */
export function submitFinanceApplication(application) {
    return request({
        url: '/apis/finance/apply',
        method: 'post',
        data: application
    })
}

/**
 * 根据融资申请ID获取申请详情
 * @param {Number} financeId - 融资申请ID
 * @returns {Promise} 请求结果
 */
export function getFinanceApplicationById(financeId) {
    return request({
        url: `/apis/finance/${financeId}`,
        method: 'get'
    })
}

/**
 * 根据用户ID获取该用户的所有融资申请
 * @param {String} userId - 用户ID
 * @returns {Promise} 请求结果
 */
export function getFinanceApplicationsByUserId(userId) {
    return request({
        url: `/apis/finance/user/${userId}`,
        method: 'get'
    })
}

/**
 * 根据状态获取融资申请列表
 * @param {Number} status - 状态值，如 0待审核、1审核通过等
 * @returns {Promise} 请求结果
 */
export function getFinanceApplicationsByStatus(status) {
    return request({
        url: `/apis/finance/status/${status}`,
        method: 'get'
    })
}

/**
 * 更新融资申请状态（通用）
 * @param {Number} financeId - 融资申请ID
 * @param {Number} status - 新状态
 * @param {String} opinion - 审核意见
 * @returns {Promise} 请求结果
 */
export function updateFinanceApplicationStatus(financeId, status, opinion) {
    return request({
        url: `/apis/finance/${financeId}/status`,
        method: 'put',
        params: {
            status,
            opinion
        }
    })
}

/**
 * 审核通过融资申请
 * @param {Number} financeId - 融资申请ID
 * @param {String} opinion - 审核意见
 * @returns {Promise} 请求结果
 */
export function approveFinanceApplication(financeId, opinion) {
    return request({
        url: `/apis/finance/${financeId}/approve`,
        method: 'put',
        params: {
            opinion
        }
    })
}

/**
 * 审核拒绝融资申请
 * @param {Number} financeId - 融资申请ID
 * @param {String} opinion - 审核意见
 * @returns {Promise} 请求结果
 */
export function rejectFinanceApplication(financeId, opinion) {
    return request({
        url: `/apis/finance/${financeId}/reject`,
        method: 'put',
        params: {
            opinion
        }
    })
}

// 新增：取消融资申请
export const cancelFinanceApplication = (data) => {
    return request({
        url: `/apis/finance/${data.financeId}/cancel`,
        method: 'POST',
        data: {
            cancelReason: data.cancelReason
        }
    })
}
